﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.97.5346.24640"?>
<regions>
  <settings>
    <identity>
      <id>edb012c4-7dfa-4a16-b452-1280cf2ba7aa</id>
      <revision>5</revision>
    </identity>
    <calculation>
      <precision>6</precision>
      <exponentialThreshold>6</exponentialThreshold>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="true" printAreas="true" simpleEqualsOnly="false" printBackgroundImages="true">
      <paper id="1" orientation="Portrait" width="850" height="1100" />
      <margins left="39" right="39" top="39" bottom="39" />
      <header alignment="Center" color="#a9a9a9">&amp;[DATE] &amp;[TIME] - &amp;[FILENAME]</header>
      <footer alignment="Center" color="#a9a9a9">&amp;[PAGENUM] / &amp;[COUNT]</footer>
      <backgrounds />
    </pageModel>
    <dependences>
      <assembly name="SMath Studio Desktop" version="0.97.5346.24640" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Math Region" version="0.97.5346.24640" guid="02f1ab51-215b-466e-a74d-5d8b1cf85e8d" />
      <assembly name="Special Functions" version="1.11.5346.31403" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
      <assembly name="Text Region" version="1.10.5346.31409" guid="485d28c5-349a-48b6-93be-12a35a1c1e39" />
      <assembly name="Plot Region" version="1.9.5346.32570" guid="c451c2b5-798b-4f08-b9ec-b90963d1ddaa" />
    </dependences>
  </settings>
  <region id="0" left="9" top="9" width="595" height="140" color="#000000" bgColor="#ebebeb" fontSize="10">
    <math decimalPlaces="4" exponentialThreshold="3">
      <input>
        <e type="operand">vx</e>
        <e type="operand">vy</e>
        <e type="operand">a</e>
        <e type="operand">b</e>
        <e type="operand">c</e>
        <e type="function" args="5">plotG</e>
        <e type="operand">a</e>
        <e type="operand" style="string">char</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">b</e>
        <e type="operand">size</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">c</e>
        <e type="operand" style="string">color</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">1</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="5">mat</e>
        <e type="operand">n</e>
        <e type="operand">vx</e>
        <e type="function" preserve="true" args="1">length</e>
        <e type="operator" args="2">:</e>
        <e type="operand">plot</e>
        <e type="operand">vx</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">vy</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">a</e>
        <e type="operand">b</e>
        <e type="operand">c</e>
        <e type="function" preserve="true" args="5">augment</e>
        <e type="operator" args="2">:</e>
        <e type="operand">i</e>
        <e type="operand">2</e>
        <e type="operand">n</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">plot</e>
        <e type="operand">plot</e>
        <e type="operand">vx</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">vy</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">a</e>
        <e type="operand">b</e>
        <e type="operand">c</e>
        <e type="function" preserve="true" args="5">augment</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">plot</e>
        <e type="operand">5</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="7">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="1" left="630" top="63" width="96" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">t0</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="1">time</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="2" left="9" top="153" width="555" height="31" color="#800000" bgColor="#ffffff" fontSize="14">
    <text lang="eng">
      <p bold="true">Fitting a model by fitting the reduced data set</p>
    </text>
  </region>
  <region id="3" left="9" top="189" width="672" height="168" color="#000000" bgColor="#ffffff" fontSize="10">
    <text lang="eng">
      <p>Fitting data is "an art [F.B. Hildebrand]". Models don't abund in literature, NIST is very poor to useless. Data reduction is often a good route. In this example, the sampled data are col_1, col_2. We divide col 'Y' by col 'X'  to get col 'R', the reduced data. The fitting session will be exercised on 'XR'. The final fit is recovered by  reverse engineering the fit, i.e: multiply by 'X'.This data set does not lack points. What we have here is some kind of "reaction rate", but the theoretical reaction rate model does not have enough parameters to fit. In this demo, parameters are from OriginLab. An Smath "Genfit" session would do as well. The data set is typical of an alcotest. The driver was tested above Canadian limit [80mg/l], continued tested for complete history.   </p>
    </text>
  </region>
  <region id="4" left="9" top="369" width="417" height="92" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <math optimize="2" fractionType="auto">
      <description active="true" position="Top" lang="eng">
        <p>algo style matrices: elements wise between matrices</p>
      </description>
      <input>
        <e type="operand">u</e>
        <e type="operand">v</e>
        <e type="function" args="2">Vectorise</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">u</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">j</e>
        <e type="operand">1</e>
        <e type="operand">u</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">M</e>
        <e type="operand">i</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">u</e>
        <e type="operand">i</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">v</e>
        <e type="operand">i</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="function" args="2">algo</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">M</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="5" left="468" top="369" width="116" height="41" color="#000000" bgColor="#ffffe1" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>Reduce data set</p>
      </description>
      <input>
        <e type="operand">u</e>
        <e type="operand">v</e>
        <e type="function" args="2">algo</e>
        <e type="operand">u</e>
        <e type="operand">v</e>
        <e type="operator" args="2">/</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="6" left="468" top="441" width="268" height="28" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">XY</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="2">col</e>
        <e type="operand">XY</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">col</e>
        <e type="function" args="2">Vectorise</e>
      </input>
    </math>
  </region>
  <region id="7" left="9" top="495" width="268" height="188" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">XYR</e>
        <e type="operand">13.125</e>
        <e type="operand">154.614</e>
        <e type="operand">11.780114</e>
        <e type="operand">34.026</e>
        <e type="operand">246.218</e>
        <e type="operand">7.236172</e>
        <e type="operand">55.446</e>
        <e type="operand">252.327</e>
        <e type="operand">4.55086</e>
        <e type="operand">76.021</e>
        <e type="operand">242.368</e>
        <e type="operand">3.188172</e>
        <e type="operand">92.273</e>
        <e type="operand">191.45</e>
        <e type="operand">2.074821</e>
        <e type="operand">105.182</e>
        <e type="operand">152.065</e>
        <e type="operand">1.445732</e>
        <e type="operand">117.288</e>
        <e type="operand">142.612</e>
        <e type="operand">1.215913</e>
        <e type="operand">127.59</e>
        <e type="operand">121.356</e>
        <e type="operand">0.95114</e>
        <e type="operand">137.523</e>
        <e type="operand">117.018</e>
        <e type="operand">0.850898</e>
        <e type="operand">147.304</e>
        <e type="operand">115.21</e>
        <e type="operand">0.782124</e>
        <e type="operand">10</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="32">mat</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="8" left="288" top="495" width="431" height="26" color="#000000" bgColor="#ffffe1" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>OriginLab coefficients</p>
      </description>
      <input>
        <e type="operand">yo</e>
        <e type="operand">0.02024</e>
        <e type="operator" args="2">:</e>
        <e type="operand">A1</e>
        <e type="operand">14.848</e>
        <e type="operator" args="2">:</e>
        <e type="operand">t1</e>
        <e type="operand">47.1</e>
        <e type="operator" args="2">:</e>
        <e type="operand">A2</e>
        <e type="operand">4.376</e>
        <e type="operator" args="2">:</e>
        <e type="operand">t2</e>
        <e type="operand">6.158</e>
        <e type="operator" args="2">:</e>
        <e type="operand">1</e>
        <e type="operand">5</e>
        <e type="function" preserve="true" args="7">mat</e>
      </input>
    </math>
  </region>
  <region id="9" left="288" top="549" width="275" height="43" color="#000000" bgColor="#e1ffff" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>Reduced fit</p>
      </description>
      <input>
        <e type="operand">x</e>
        <e type="function" args="1">f</e>
        <e type="operand">yo</e>
        <e type="operand">A1</e>
        <e type="operand">x</e>
        <e type="operand">t1</e>
        <e type="operator" args="2">/</e>
        <e type="operator" args="1">-</e>
        <e type="function" preserve="true" args="1">exp</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">+</e>
        <e type="operand">A2</e>
        <e type="operand">x</e>
        <e type="operand">t2</e>
        <e type="operator" args="2">/</e>
        <e type="operator" args="1">-</e>
        <e type="function" preserve="true" args="1">exp</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="10" left="594" top="558" width="98" height="26" color="#000000" bgColor="#80ffff" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>Recovered fit</p>
      </description>
      <input>
        <e type="operand">x</e>
        <e type="function" args="1">q</e>
        <e type="operand">x</e>
        <e type="operand">x</e>
        <e type="function" args="1">f</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="11" left="288" top="621" width="431" height="28" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>Reduced data set to fit</p>
      </description>
      <input>
        <e type="operand">XR</e>
        <e type="operand">XYR</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">col</e>
        <e type="operand">XYR</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="2">col</e>
        <e type="operand" style="string">.</e>
        <e type="operand">10</e>
        <e type="operand" style="string">black</e>
        <e type="function" args="5">plotG</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="12" left="288" top="675" width="431" height="28" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <description active="true" position="Top" lang="eng">
        <p>Original data set, for recovery</p>
      </description>
      <input>
        <e type="operand">XY</e>
        <e type="operand">XYR</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">col</e>
        <e type="operand">XYR</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="2">col</e>
        <e type="operand" style="string">.</e>
        <e type="operand">10</e>
        <e type="operand" style="string">black</e>
        <e type="function" args="5">plotG</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="13" left="180" top="738" width="104" height="26" color="#000000" bgColor="#ffc8c8" fontSize="10">
    <math>
      <input>
        <e type="operand">x</e>
        <e type="function" args="1">limit</e>
        <e type="operand">80</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="14" left="288" top="738" width="360" height="28" color="#000000" bgColor="#ffc8c8" fontSize="10">
    <math decimalPlaces="1">
      <input>
        <e type="operand">x</e>
        <e type="function" args="1">q</e>
        <e type="operand">x</e>
        <e type="function" args="1">limit</e>
        <e type="operator" args="2">-</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≡</e>
        <e type="operand">x</e>
        <e type="operand">150</e>
        <e type="operand">175</e>
        <e type="function" preserve="true" args="4">solve</e>
      </input>
      <result action="numeric">
        <e type="operand">162.4</e>
      </result>
    </math>
  </region>
  <region id="15" left="288" top="765" width="345" height="24" color="#000000" bgColor="#ffc8c8" fontSize="10">
    <text lang="eng">
      <p>'solve' does not support eval(,) in f(x) </p>
    </text>
  </region>
  <region id="16" left="9" top="774" width="233" height="24" color="#000000" bgColor="#ffffe1" fontSize="10">
    <text lang="eng">
      <p>Copy/paste OriginLab param.</p>
    </text>
  </region>
  <region id="17" left="9" top="801" width="229" height="88" border="true" color="#000000" bgColor="#ebebeb" fontSize="10">
    <text lang="eng">
      <p>y0	0.02024	0.3204A1	14.84776	2.3454t1	47.09886	7.9083A2	4.3761	            74.783t2	6.15757	57.482  </p>
    </text>
  </region>
  <region id="18" left="288" top="801" width="229" height="94" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">Reduce</e>
        <e type="operand">x</e>
        <e type="operand">10</e>
        <e type="operand">200</e>
        <e type="operand">11</e>
        <e type="function" preserve="true" args="3">range</e>
        <e type="operator" args="2">:</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">x</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">R</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">x</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" args="1">f</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">x</e>
        <e type="operand">R</e>
        <e type="function" preserve="true" args="2">augment</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="19" left="522" top="801" width="220" height="94" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">Fit</e>
        <e type="operand">x</e>
        <e type="operand">0</e>
        <e type="operand">250</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">range</e>
        <e type="operator" args="2">:</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">x</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">fit</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">x</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="function" args="1">q</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">x</e>
        <e type="operand">fit</e>
        <e type="function" preserve="true" args="2">augment</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="20" left="9" top="909" width="240" height="158" color="#000000" bgColor="#ffffff" fontSize="10">
    <plot type="2d" render="lines" scale_x="0.927237512722322" scale_y="0.0877430873845598" scale_z="0.0813586821050366" rotate_x="0" rotate_y="0" rotate_z="0" transpose_x="-83" transpose_y="-43" transpose_z="0">
      <description active="true" position="Top" lang="eng">
        <p>The fitted reduced  data set</p>
      </description>
      <input>
        <e type="operand">XR</e>
        <e type="operand">Reduce</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">sys</e>
      </input>
    </plot>
  </region>
  <region id="21" left="252" top="909" width="240" height="158" color="#000000" bgColor="#ffffff" fontSize="10">
    <plot type="2d" render="lines" scale_x="0.0312048202014735" scale_y="0.0826083750197202" scale_z="0.00257777948962627" rotate_x="0" rotate_y="0" rotate_z="0" transpose_x="-83" transpose_y="-43" transpose_z="0">
      <description active="true" position="Top" lang="eng">
        <p>Fit of the original data set</p>
      </description>
      <input>
        <e type="operand">XY</e>
        <e type="operand">Fit</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">sys</e>
      </input>
    </plot>
  </region>
  <region id="22" left="495" top="909" width="240" height="158" color="#000000" bgColor="#ffffff" fontSize="10">
    <plot type="2d" render="lines" scale_x="0.0267169021167339" scale_y="0.0773712971548668" scale_z="0.00206712137273131" rotate_x="0" rotate_y="0" rotate_z="0" transpose_x="-78" transpose_y="-43" transpose_z="0">
      <description active="true" position="Top" lang="eng">
        <p>The scalar model fit</p>
      </description>
      <input>
        <e type="operand">x</e>
        <e type="function" args="1">q</e>
        <e type="operand">162.4</e>
        <e type="operand">80</e>
        <e type="operand" style="string">+</e>
        <e type="operand">30</e>
        <e type="operand" style="string">red</e>
        <e type="operand">1</e>
        <e type="operand">5</e>
        <e type="function" preserve="true" args="7">mat</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">sys</e>
      </input>
    </plot>
  </region>
  <region id="23" left="594" top="1152" width="175" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="1">
      <input>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="1">time</e>
        <e type="operand">t0</e>
        <e type="operator" args="2">-</e>
      </input>
      <result action="numeric">
        <e type="operand">1.2</e>
        <e type="operand" style="unit">sec</e>
        <e type="operator" args="2">*</e>
      </result>
    </math>
  </region>
  <region id="24" left="81" top="1206" width="404" height="248" border="true" color="#000000" bgColor="#ffffff" fontSize="10">
    <text lang="eng">
      <p>Data: Data1_BModel: ExpDec2Equation: y = A1*exp(-x/t1) + A2*exp(-x/t2) + y0Weighting: y	No weighting  Chi^2/DoF	= 0.0188R^2	=  0.99919  y0	0.02024	0.32036A1	14.84776	2.3454t1	47.09886	7.90829A2	4.3761             74.78261t2	6.15757	57.4818</p>
    </text>
  </region>
</regions>